package nl.unimaas.micc.umsnooker.gameflow;

public abstract class GamePhase
{
	protected boolean finished;
	protected GamePhase next;
	protected GameState state;
	
	public GamePhase(GameState state)
	{
		this.state = state;
	}
	
	public void start()
	{
		finished = false;
	}
	
	public void finish()
	{
		finished = true;
	}
	
	public boolean isFinished()
	{
		return finished;
	}
	
	public GamePhase getNext()
	{
		return next;
	}
	
	public void setNext(GamePhase phase)
	{
		next = phase;
	}
	
	@Override
	public String toString()
	{
		return this.getClass().getSimpleName();
	}
}
